package cn.wolfcode.service;

import cn.wolfcode.domain.Employee;
import cn.wolfcode.domain.Role;
import cn.wolfcode.qo.QueryObject;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface IRoleService {
    /**
     *插入角色
     * @param record
     * @return
     */
    int insertRole(Role record);


    /**
     *删除角色
     * @param id
     * @return
     */
    int deleteRole(Long id);


    /**
     *修改角色
     * @param record
     * @return
     */
    int updateRole(Role record);


    /**
     *查询单个角色信息
     * @param id
     * @return
     */
    Role selectRole(Long id);


    /**
     *查询所有角色信息
     * @return
     */
    List<Role> selectRoleList();


    /**
     * 分页过滤
     * @param qo 筛选条件
     * @return
     */
    PageInfo<Role> query(QueryObject qo);


    /**
     * 保存角色和权限中间表数据
     * @param role
     * @param perIds
     */
    void saveRoleAndPer(Role role , Long[] perIds);

    /**
     * 修改员工角色中间表数据 和员工数据
     * @param role
     * @param perIds
     */
    void  updateRoleAndPer(Role role, Long[] perIds);
}
